Completed
Push — master ( ba3292...a1717d )
by Andres
39s
created

generate_exotic_upgrades.js ➔ clone   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 3
Ratio 100 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
c 1
b 0
f 0
nc 1
dl 3
loc 3
rs 10
nop 1
1
/* eslint-env node */
2
/*jslint node: true */
3 View Code Duplication
'use strict';
0 ignored issues
show
Duplication introduced by
This code seems to be duplicated in your project.
Loading history...
4
5
const jsonfile = require('jsonfile');
6
const template = require('lodash.template');
7
8
const args = process.argv.slice(2);
9
10
let upgrades = jsonfile.readFileSync(args[0]+'/data/exotic_upgrades.json');
11
let generators = jsonfile.readFileSync(args[0]+'/data/generators.json');
12
13
for(let key in upgrades){
14
  let upgrade = upgrades[key];
15
    if(!upgrade.prices){
16
      continue;
17
    }
18
  let nameTemplate = template(upgrade.name);
19
  let descriptionTemplate = template(upgrade.description);
20
  for(let i in upgrade.prices){
21
    let generatedUpgrade = clone(upgrade);
22
    delete generatedUpgrade.prices;
23
    let price = upgrade.prices[i];
24
    generatedUpgrade.price = price;
25
    generatedUpgrade.name = nameTemplate({'id': i});
26
    generatedUpgrade.description = descriptionTemplate({'id': i});
27
    for(let index in generatedUpgrade.function){
28
      generatedUpgrade.function[index] = template(generatedUpgrade.function[index])({'id': i});
29
    }
30
    for(let index in generatedUpgrade.exotic_deps){
31
      generatedUpgrade.exotic_deps[index] = template(generatedUpgrade.exotic_deps[index])({'id': i});
32
    }
33
    let id = key+'-'+i;
34
    upgrades[id] = generatedUpgrade;
35
  }
36
  delete upgrades[key];
37
}
38
39
function clone(a) {
40
   return JSON.parse(JSON.stringify(a));
41
}
42
43
jsonfile.writeFileSync(args[0] + '/data/exotic_upgrades.json', upgrades, {
44
  spaces: 2
45
});
46
jsonfile.writeFileSync(args[0] + '/data/generators.json', generators, {
47
  spaces: 2
48
});
49